﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GDISim._Infrastructure._Software._Operation._Message;
using System.Xml.Serialization;
using GDISim._Infrastructure._Software._Operation;

namespace GDISim._Infrastructure._Software._Operation
{
    public class Operation
    {
        #region Members
        private Guid operationId;
        private OperationType operationType;
        private List<Message> messageTree;
        #endregion

        #region Constructor
        public Operation()
        {
        }
        #endregion

        #region Properties
        [XmlIgnore]
        public Guid OperationId
        {
            get
            {
                return this.operationId;
            }
            set
            {
                this.operationId = value;
            }
        }
        [XmlAttribute("Type")]
        public OperationType OperationType
        {
            get
            {
                return this.operationType;
            }
            set
            {
                this.operationType = value;
            }
        }
        [XmlArray("MessageTree"), XmlArrayItem(typeof(Message))]
        public List<Message> MessageTree
        {
            get
            {
                return this.messageTree;
            }
            set
            {
                this.messageTree = value;
            }
        }
        #endregion

        #region Methods
        #endregion
    }
}
